-- ******************************************************** -- OLD ARENA -- ******************************************************** function arena_empty(actor,npc) return arena_has_no_monsters(npc, actor) and arena_hasnt_reward (actor,npc) end function arena_not_empty(actor,npc) return not arena_empty(actor,npc) and arena_hasnt_reward (actor,npc) end function arena_has_no_monsters(npc, actor) if arena_has_pseudodog(npc, actor) or arena_has_snork(npc, actor) or arena_has_bloodsucker(npc, actor) or arena_has_burer(npc, actor) or arena_has_savage(npc, actor) then return false end return true end function arena_has_pseudodog(npc, actor) return not has_alife_info("bar_arena_pseudodog_defeated") and not has_alife_info("bar_old_arena_pause") end function arena_has_snork(npc, actor) return has_alife_info("bar_arena_pseudodog_defeated") and not has_alife_info("bar_arena_snork_defeated") and not has_alife_info("bar_old_arena_pause") end function arena_has_bloodsucker(npc, actor) return has_alife_info("bar_arena_snork_defeated") and not has_alife_info("bar_arena_bloodsucker_defeated") and not has_alife_info("bar_old_arena_pause") end function arena_has_burer(npc, actor) return has_alife_info("bar_arena_bloodsucker_defeated") and not has_alife_info("bar_arena_burer_defeated") and not has_alife_info("bar_old_arena_pause") end function arena_has_savage(npc, actor) return has_alife_info("bar_arena_burer_defeated") and not has_alife_info("bar_arena_savage_defeated") and not has_alife_info("bar_old_arena_pause") end function arena_give_reward(first_speaker, second_speaker) local m = 0 if (has_alife_info("bar_arena_pseudodog_defeated")) then m = m + 1000 end if (has_alife_info("bar_arena_snork_defeated")) then m = m + 1000 end if (has_alife_info("bar_arena_bloodsucker_defeated")) then m = m + 1000 end if (has_alife_info("bar_arena_burer_defeated")) then m = m + 1000 end if (has_alife_info("bar_arena_savage_defeated")) then m = m + 1000 end local p = 0 if has_alife_info("bar_arena_20_p") then p = 1.5 elseif has_alife_info("bar_arena_50_p") then p = 2 elseif has_alife_info("bar_arena_100_p") then p = 3 end dialogs.relocate_money_to_actor(first_speaker, second_speaker, m*p) db.actor:give_info_portion("bar_old_arena_reset") -- doesn't seem to be working xr_zones.purge_arena_items("bar_old_arena") -------------------- added for temp fix db.actor:disable_info_portion("bar_arena_start") db.actor:disable_info_portion("bar_arena_1000_r") db.actor:disable_info_portion("bar_arena_2000_r") db.actor:disable_info_portion("bar_arena_3000_r") db.actor:disable_info_portion("bar_arena_5000_r") db.actor:disable_info_portion("bar_arena_20_p") db.actor:disable_info_portion("bar_arena_50_p") db.actor:disable_info_portion("bar_arena_100_p") db.actor:disable_info_portion("bar_arena_fight_10") db.actor:disable_info_portion("bar_arena_fight_20") db.actor:disable_info_portion("bar_arena_fight_30") db.actor:disable_info_portion("bar_arena_fight_40") db.actor:disable_info_portion("bar_arena_fight_50") db.actor:disable_info_portion("bar_arena_fight_60") db.actor:disable_info_portion("bar_arena_fight_70") db.actor:disable_info_portion("bar_arena_fight_80") db.actor:disable_info_portion("bar_arena_fight_90") db.actor:disable_info_portion("bar_arena_start_introduce") db.actor:disable_info_portion("bar_arena_spawn_monstr") db.actor:disable_info_portion("bar_arena_monstr_ready") db.actor:disable_info_portion("bar_arena_monstr_dead") db.actor:disable_info_portion("bar_arena_actor_victory") db.actor:disable_info_portion("bar_arena_actor_lose") db.actor:disable_info_portion("bar_arena_actor_afraid") db.actor:disable_info_portion("bar_arena_actor_dead") db.actor:disable_info_portion("bar_arena_pseudodog_choosen") db.actor:disable_info_portion("bar_arena_snork_choosen") db.actor:disable_info_portion("bar_arena_bloodsucker_choosen") db.actor:disable_info_portion("bar_arena_burer_choosen") db.actor:disable_info_portion("bar_arena_savage_choosen") ------------------------ end temp fix pt 1 of 1 game_statistics.increment_statistic("arena_battles") end function actor_has_1000(first_speaker, second_speaker) return db.actor:money() > 1000 end function give_money_1000(first_speaker, second_speaker) dialogs.relocate_money_from_actor(first_speaker, second_speaker, 1000) end function actor_has_2000(first_speaker, second_speaker) return db.actor:money() > 2000 end function give_money_2000(first_speaker, second_speaker) dialogs.relocate_money_from_actor(first_speaker, second_speaker, 2000) end function actor_has_3000(first_speaker, second_speaker) return db.actor:money() > 3000 end function give_money_3000(first_speaker, second_speaker) dialogs.relocate_money_from_actor(first_speaker, second_speaker, 3000) end function actor_has_4000(first_speaker, second_speaker) return db.actor:money() > 4000 end function give_money_4000(first_speaker, second_speaker) dialogs.relocate_money_from_actor(first_speaker, second_speaker, 4000) end function actor_has_5000(first_speaker, second_speaker) return db.actor:money() > 5000 end function give_money_5000(first_speaker, second_speaker) dialogs.relocate_money_from_actor(first_speaker, second_speaker, 5000) end -- ******************************************************** -- NEW ARENA -- ******************************************************** function new_arena_give_reward(first_speaker, second_speaker) local m = 0 if has_alife_info("bar_arena_fight_1_reward") then m = 1000 elseif has_alife_info("bar_arena_fight_2_reward") then m = 2000 elseif has_alife_info("bar_arena_fight_3_reward") then m = 3000 elseif has_alife_info("bar_arena_fight_4_reward") then m = 4000 elseif has_alife_info("bar_arena_fight_5_reward") then m = 6000 elseif has_alife_info("bar_arena_fight_6_reward") then m = 8000 elseif has_alife_info("bar_arena_fight_7_reward") then m = 10000 elseif has_alife_info("bar_arena_fight_8_reward") then m = 10000 end dialogs.relocate_money_to_actor(first_speaker, second_speaker, m) db.actor:give_info_portion("bar_arena_reset") -- when getting this info_portions.script is supposed to flip an info switch removing a whole bunch of things but it doesn't. why? idk it worked in older versions and I haven't been able to find any changes -------------------------------------added for temp fix db.actor:disable_info_portion("bar_arena_fight_1_reward") db.actor:disable_info_portion("bar_arena_fight_2_reward") db.actor:disable_info_portion("bar_arena_fight_3_reward") db.actor:disable_info_portion("bar_arena_fight_4_reward") db.actor:disable_info_portion("bar_arena_fight_5_reward") db.actor:disable_info_portion("bar_arena_fight_6_reward") db.actor:disable_info_portion("bar_arena_fight_7_reward") db.actor:disable_info_portion("bar_arena_fight_8_reward") db.actor:disable_info_portion("bar_arena_fight") db.actor:disable_info_portion("bar_arena_fight_begin") -------------------------------end temp fix p2 of 2 game_statistics.increment_statistic("arena_battles") end function arena_has_reward (first_speaker, second_speaker) return has_alife_info("bar_arena_fight_1_reward") or has_alife_info("bar_arena_fight_2_reward") or has_alife_info("bar_arena_fight_3_reward") or has_alife_info("bar_arena_fight_4_reward") or has_alife_info("bar_arena_fight_5_reward") or has_alife_info("bar_arena_fight_6_reward") or has_alife_info("bar_arena_fight_7_reward") or has_alife_info("bar_arena_fight_8_reward") end function arena_hasnt_reward (actor, npc) return not( has_alife_info("bar_arena_fight_1_reward") or has_alife_info("bar_arena_fight_2_reward") or has_alife_info("bar_arena_fight_3_reward") or has_alife_info("bar_arena_fight_4_reward") or has_alife_info("bar_arena_fight_5_reward") or has_alife_info("bar_arena_fight_6_reward") or has_alife_info("bar_arena_fight_7_reward") or has_alife_info("bar_arena_fight_8_reward")) and not ( has_alife_info("bar_arena_1000_r") or has_alife_info("bar_arena_2000_r") or has_alife_info("bar_arena_3000_r") or has_alife_info("bar_arena_5000_r") or has_alife_info("bar_arena_20_p") or has_alife_info("bar_arena_50_p") or has_alife_info("bar_arena_100_p")) end function arena_rank_check_true (first_speaker, second_speaker) if has_alife_info("bar_arena_fight_6_done") or has_alife_info("bar_arena_fight_3_done") then if has_alife_info("bar_arena_fight_3_done") and (db.actor:character_rank() > 1499) and not(has_alife_info("bar_arena_fight_6_done")) then return true end elseif has_alife_info("bar_arena_fight_6_done") and (db.actor:character_rank() > 2999) then return true else return false end end function arena_rank_check_false (first_speaker, second_speaker) return not arena_rank_check_true (first_speaker, second_speaker) end